Towards a Catalogue of Refactorings and Code Smells for AspectJ

نویسندگان

  • Miguel P. Monteiro
  • João M. Fernandes
چکیده

In this paper, we contribute to the characterisation of a programming style specific to aspect-oriented programming. For this purpose, we present a collection of refactorings for aspect-oriented source code, comprising refactorings to enable extraction to aspects of crosscutting concerns from objectoriented legacy code, the subsequent tidying up of the extracted aspects and factoring out of common code from similar aspects to superaspects. The second group of refactorings is documented in detail. In addition, we propose some new aspect-oriented code smells, including one smell that is specific to aspect modules. We also propose a reinterpretation of some of the traditional objectoriented code smells in the light of aspect-orientation, to detect the presence of crosscutting concerns.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Genetic Algorithm for Automated Refactoring of Component-Based Software

Nowadays a software undergoes modifications done by different people to quickly fulfill new requirements, but its underlying design is not adjusted properly after each update. This leads to the emergence of bad smells. Refactoring provides a de facto behavior-preserving means to eliminate these anomalies. However, manually determining and performing useful refactorings is known as an NP-Complet...

متن کامل

Automation of Refactoring and Refactoring Suggestions for TTCN-3 Test Suites. The TRex TTCN-3 Refactoring and Metrics Tool

Refactoring is not only useful for source code of implementations, but as well for test specifications. The open source TRex tool automates the application of refactorings and the detection of refactoring opportunities for test suites that are specified using the standardised Testing and Test Control Notation (TTCN-3). Depending on the refactoring, the behaviour preserving transformations may i...

متن کامل

Using Programming Laws to Modularize Concurrency in a Replicated Database Application

As the use of AspectJ grows, it seems appropriate to define refactorings for that language. Most of the already defined aspect-oriented refactorings do not have a formal basis to ensure it preserves behaviour. This paper shows the application of programming laws and derived refactorings to separate a crosscutting concern from a system’s core logic using AspectJ. We used programming laws to incr...

متن کامل

AJaTS – AspectJ Transformation System: Tool Support for Aspect-Oriented Development and Refactoring

The interest in aspect-oriented software development naturally demands tool support for both implementing and evolution of aspect-oriented applications, as well as refactoring current object-oriented software to aspectoriented. In this paper, we present AJaTS – a general purpose AspectJ Transformation System for AspectJ code generation and transformation. AJaTS allows the specification of aspec...

متن کامل

An Empirical Investigation of Code Smell 'Deception' and Research Contextualisation through Paul's Criteria

Code smells represent code decay and as such should be eradicated from a system to prevent future maintenance problems. A range of twenty smells described by Fowler and Beck each require varying numbers and combinations of refactorings in order to be eradicated — but exactly how many are needed when we consider related, nested refactorings is unclear. In this paper, we enumerate these refactori...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006